
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of CLIENTUPDATE</TITLE>
</HEAD><BODY>
<H1>CLIENTUPDATE</H1>
Section: User Commands  (1)<BR>Updated: Version 4.3.13:  7 Jan 2014<BR><A HREF="#index">Index</A>
<A HREF="../index.html">Return to Main Contents</A><HR>

<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>

clientupdate - Xymon client update utility
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>

<B>clientupdate [options]</B>

<P>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>

<B>clientupdate</B> is part of the Xymon client. It is responsible
for updating an existing client installation from a central
repository of client packages stored on the Xymon server.
<P>
When the Xymon client sends a normal client report to the Xymon
server, the server responds with the section of the
<I><A HREF="../man5/client-local.cfg.5.html">client-local.cfg</A>(5)</I>

file that is relevant to this client. Included in this may be
a &quot;clientversion&quot; value. The clientversion received from the server
is compared against the current clientversion installed on the client, 
as determined by the contents of the $XYMONHOME/etc/clientversion.cfg
file. If the two versions are not identical, clientupdate is
launched to update the client installation.
<P>
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>

<DL COMPACT>
<DT>--level<DD>
Report the current clientversion.
<P>
<DT>--update=NEWVERSION<DD>
Attempt to update the client to NEWVERSION by fetching this version
of the client software from the Xymon server.
<P>
<DT>--reexec<DD>
Used internally during the update process, see <B>OPERATION</B> below.
<P>
<DT>--remove-self<DD>
Used internally during the update process. This option causes
the running clientupdate utility to delete itself - it is used
during the update to purge a temporary copy of the clientupdate
utility that is installed in $XYMONTMP.
<P>
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>USING CLIENTUPDATE IN XYMON</H2>

To manage updating clients without having to logon to each server,
you can use the clientupdate utility. This is how you setup the
release of a new client version.
<P>
<DL COMPACT>
<DT>Create the new client<DD>
Setup the new client $XYMONHOME directory, e.g. by copying an existing
client installation to an empty directory and modifying it for your
needs. It is a good idea to delete all files in the tmp/ and logs/
directories, since there is no need to copy these over to all of
the clients. Pay attention to the etc/ files, and make sure that they
are suitable for the systems where you want to deploy this new client.
You can add files - e.g. extension scripts in the ext/ directory -
but the clientupdate utility cannot delete or rename files.
<P>
<DT>Package the client<DD>
When your new client software is ready, create a tar-file of the 
new client. All files in the tar archive must have file names 
relative to the clients' $XYMONHOME (usually, ~xymon/client/).
Save the tar file on the Xymon server in 
~xymon/server/download/somefile.tar.  Don't compress it.
It is recommended that you use some sort of operating-system 
and version-numbering scheme for the filename, but you can choose 
whatever filename suits you - the only requirement is that it must
end with &quot;.tar&quot;. The part of the filename preceding &quot;.tar&quot; is
what Xymon will use as the &quot;clientversion&quot; ID.
<P>
<DT>Configure which hosts receive the new client<DD>
In the 
<I><A HREF="../man5/client-local.cfg.5.html">client-local.cfg</A>(5)</I>

file, you must now setup a <B>clientversion:ID</B> line
where the <B>ID</B> matches the filename you used for the
tar-file. So if you have packaged the new client into the
file <B>linux.v2.tar</B>, then the corresponding 
entry in client-local.cfg would be <B>clientversion:linux.v2</B>.
<P>
<DT>Wait for xymond to reload client-local.cfg<DD>
xymond will automatically reload the client-local.cfg file
after at most 10 minutes. If you want to force an immediate
reload, send a SIGHUP signal to the xymond process.
<P>
<DT>Wait for the client to update<DD>
The next time the client contacts the Xymon server to
send the client data, it will notice the new clientversion
setting in client-local.cfg, and will run <B>clientupdate</B>
to install the new client software. So when the client runs
the next time, it will use the new client software.
<P>
</DL>
<A NAME="lbAG">&nbsp;</A>
<H2>OPERATION</H2>

<B>clientupdate</B> runs in two steps:
<P>
<DL COMPACT>
<DT>Re-exec step<DD>
The first step is when clientupdate is first invoked from the xymonclient.sh 
script with the &quot;--re-exec&quot; option. This step copies the clientupdate
program from $XYMONHOME/bin/ to a temporary file in the $XYMONTMP directory.
This is to avoid conflicts when the update procedure installs a new
version of the clientupdate utility itself. Upon completion of this
step, the clientupdate utility automatically launches the next step
by running the program from the file in $XYMONTMP.
<P>
<DT>Update step<DD>
The second step downloads the new client software from the Xymon server.
The new software must be packed into a tar file, which clientupdate then
unpacks into the $XYMONHOME directory.
<P>
</DL>
<A NAME="lbAH">&nbsp;</A>
<H2>ENVIRONMENT VARIABLES</H2>

clientupdate uses several of the standard Xymon environment
variables, including <B>XYMONHOME</B> and <B>XYMONTMP</B>.
<P>
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>

<A HREF="../man7/xymon.7.html">xymon</A>(7), <A HREF="../man1/xymon.1.html">xymon</A>(1), <A HREF="../man5/client-local.cfg.5.html">client-local.cfg</A>(5)
<P>
<P>

<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">USING CLIENTUPDATE IN XYMON</A><DD>
<DT><A HREF="#lbAG">OPERATION</A><DD>
<DT><A HREF="#lbAH">ENVIRONMENT VARIABLES</A><DD>
<DT><A HREF="#lbAI">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 09:25:34 GMT, January 07, 2014
</BODY>
</HTML>
